[INFO] cloning repository https://github.com/Volham22/bubble-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Volham22/bubble-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVolham22%2Fbubble-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVolham22%2Fbubble-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 89ffa2afedbc7ef1b278bd902993bf3171876f56
[INFO] fixing Volham22/bubble-lang against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVolham22%2Fbubble-lang" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Volham22/bubble-lang
[INFO] finished tweaking git repo https://github.com/Volham22/bubble-lang
[INFO] tweaked toml for git repo https://github.com/Volham22/bubble-lang written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Volham22/bubble-lang on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Volham22/bubble-lang already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6a90f93a34f381a0ada2d418f2f724f3598c03b4205b1ee9e7d1b3974d6b44f4
[INFO] running `Command { std: "docker" "start" "6a90f93a34f381a0ada2d418f2f724f3598c03b4205b1ee9e7d1b3974d6b44f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6a90f93a34f381a0ada2d418f2f724f3598c03b4205b1ee9e7d1b3974d6b44f4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a90f93a34f381a0ada2d418f2f724f3598c03b4205b1ee9e7d1b3974d6b44f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6a90f93a34f381a0ada2d418f2f724f3598c03b4205b1ee9e7d1b3974d6b44f4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating libbubble/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating bubble-dev/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating bubblec/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling cc v1.1.14
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling syn v2.0.76
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling pico-args v0.5.0
[INFO] [stderr]    Compiling ena v0.14.3
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling unicode-xid v0.2.5
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling inkwell v0.4.0
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking lalrpop-util v0.20.2
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]    Compiling rstest_macros v0.17.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling string_cache v0.8.7
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking anstream v0.6.15
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]     Checking fastrand v2.1.1
[INFO] [stderr]     Checking clap_builder v4.5.15
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]     Checking annotate-snippets v0.11.4
[INFO] [stderr]    Compiling llvm-sys v170.1.1
[INFO] [stderr]     Checking regex v1.10.6
[INFO] [stderr]     Checking tempfile v3.12.0
[INFO] [stderr]     Checking clap v4.5.16
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling inkwell_internals v0.9.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]    Compiling logos-derive v0.12.1
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking thiserror v1.0.63
[INFO] [stderr]    Compiling lalrpop v0.20.2
[INFO] [stderr]     Checking logos v0.12.1
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking rstest v0.17.0
[INFO] [stderr]    Compiling libbubble v0.1.0 (/opt/rustwide/workdir/libbubble)
[INFO] [stderr]    Migrating libbubble/build.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating libbubble/src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `libbubble`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs
[INFO] [stderr]  ::: libbubble/src/desugar/imports.rs
[INFO] [stderr]  ::: libbubble/src/parser/grammar.rs
[INFO] [stderr]  ::: libbubble/src/parser/lexer.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:47:16
[INFO] [stderr]               |
[INFO] [stderr]            47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stderr]               |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:50:7
[INFO] [stderr]               |
[INFO] [stderr]            50 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:54:7
[INFO] [stderr]               |
[INFO] [stderr]            54 |     #[token("[")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:56:7
[INFO] [stderr]               |
[INFO] [stderr]            56 |     #[token("]")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:58:7
[INFO] [stderr]               |
[INFO] [stderr]            58 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:62:7
[INFO] [stderr]               |
[INFO] [stderr]            62 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:64:7
[INFO] [stderr]               |
[INFO] [stderr]            64 |     #[token(";")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:66:7
[INFO] [stderr]               |
[INFO] [stderr]            66 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token("=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[token(".")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:72:7
[INFO] [stderr]               |
[INFO] [stderr]            72 |     #[token("::")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:76:7
[INFO] [stderr]               |
[INFO] [stderr]            76 |     #[token("+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:78:7
[INFO] [stderr]               |
[INFO] [stderr]            78 |     #[token("-")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:80:7
[INFO] [stderr]               |
[INFO] [stderr]            80 |     #[token("*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[token("/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:84:7
[INFO] [stderr]               |
[INFO] [stderr]            84 |     #[token("%")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("and")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:88:7
[INFO] [stderr]               |
[INFO] [stderr]            88 |     #[token("or")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:90:7
[INFO] [stderr]               |
[INFO] [stderr]            90 |     #[token("not")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("==")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:94:7
[INFO] [stderr]               |
[INFO] [stderr]            94 |     #[token("!=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:96:7
[INFO] [stderr]               |
[INFO] [stderr]            96 |     #[token("<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:98:7
[INFO] [stderr]               |
[INFO] [stderr]            98 |     #[token(">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:100:7
[INFO] [stderr]                |
[INFO] [stderr]            100 |     #[token("<=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:102:7
[INFO] [stderr]                |
[INFO] [stderr]            102 |     #[token(">=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:106:7
[INFO] [stderr]                |
[INFO] [stderr]            106 |     #[token("function")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:108:7
[INFO] [stderr]                |
[INFO] [stderr]            108 |     #[token("struct")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:110:7
[INFO] [stderr]                |
[INFO] [stderr]            110 |     #[token("if")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:112:7
[INFO] [stderr]                |
[INFO] [stderr]            112 |     #[token("else")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:114:7
[INFO] [stderr]                |
[INFO] [stderr]            114 |     #[token("for")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:116:7
[INFO] [stderr]                |
[INFO] [stderr]            116 |     #[token("while")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:118:7
[INFO] [stderr]                |
[INFO] [stderr]            118 |     #[token("return")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:120:7
[INFO] [stderr]                |
[INFO] [stderr]            120 |     #[token("let")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:122:7
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(ref e) = &expr.right {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(ref e) = &expr.right {
[INFO] [stdout]     |                ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 130 -         if let Some(ref e) = &expr.right {
[INFO] [stdout] 130 +         if let Some(e) = &expr.right {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:311:31
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout]     |                               ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 311 -             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout] 311 +             Expression::Group(g) => self.visit_expression(g),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            122 |     #[token("break")]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:312:41
[INFO] [stdout]     |
[INFO] [stdout] 312 |             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |                                         ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 312 -             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout] 312 +             Expression::BinaryOperation(bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |       ^^^^^
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:313:33
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout]     |                                 ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 313 -             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout] 313 +             Expression::Literal(l) => self.visit_literal(l),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:314:30
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout]     |                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 314 -             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout] 314 +             Expression::Call(c) => self.visit_call(c),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:315:36
[INFO] [stdout]     |
[INFO] [stdout] 315 |             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout]     |                                    ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 315 -             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout] 315 +             Expression::Assignment(a) => self.visit_assignment(a),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:124:7
[INFO] [stderr]                |
[INFO] [stderr]            124 |     #[token("continue")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:126:7
[INFO] [stderr]                |
[INFO] [stderr]            126 |     #[token("true")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:128:7
[INFO] [stderr]                |
[INFO] [stderr]            128 |     #[token("false")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:130:7
[INFO] [stderr]                |
[INFO] [stderr]            130 |     #[token("extern")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:132:7
[INFO] [stderr]                |
[INFO] [stderr]            132 |     #[token("import")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:134:7
[INFO] [stderr]                |
[INFO] [stderr]            134 |     #[token("from")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:136:7
[INFO] [stderr]                |
[INFO] [stderr]            136 |     #[token("export")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:144:7
[INFO] [stderr]                |
[INFO] [stderr]            144 |     #[token("u8")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:146:7
[INFO] [stderr]                |
[INFO] [stderr]            146 |     #[token("u16")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:148:7
[INFO] [stderr]                |
[INFO] [stderr]            148 |     #[token("u32")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:150:7
[INFO] [stderr]                |
[INFO] [stderr]            150 |     #[token("u64")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:154:7
[INFO] [stderr]                |
[INFO] [stderr]            154 |     #[token("i8")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:156:7
[INFO] [stderr]                |
[INFO] [stderr]            156 |     #[token("i16")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:158:7
[INFO] [stderr]                |
[INFO] [stderr]            158 |     #[token("i32")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:160:7
[INFO] [stderr]                |
[INFO] [stderr]            160 |     #[token("i64")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:164:7
[INFO] [stderr]                |
[INFO] [stderr]            164 |     #[token("bool")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:166:7
[INFO] [stderr]                |
[INFO] [stderr]            166 |     #[token("string")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:168:7
[INFO] [stderr]                |
[INFO] [stderr]            168 |     #[token("void")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:172:7
[INFO] [stderr]                |
[INFO] [stderr]            172 |     #[token("ptr")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:174:7
[INFO] [stderr]                |
[INFO] [stderr]            174 |     #[token("addrof")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:176:7
[INFO] [stderr]                |
[INFO] [stderr]            176 |     #[token("deref")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:178:7
[INFO] [stderr]                |
[INFO] [stderr]            178 |     #[token("null")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:182:7
[INFO] [stderr]                |
[INFO] [stderr]            182 |     #[regex(r"[a-zA-Z][a-zA-Z0-9_]*", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:184:7
[INFO] [stderr]                |
[INFO] [stderr]            184 |     #[regex(r"([0-9]+)?\.[0-9]+", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:186:7
[INFO] [stderr]                |
[INFO] [stderr]            186 |     #[regex(r"[1-9]+[0-9]*|0", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:188:7
[INFO] [stderr]                |
[INFO] [stderr]            188 |     #[token("\"", handle_quote)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `error` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:191:7
[INFO] [stderr]                |
[INFO] [stderr]            191 |     #[error]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `error` is an attribute that can be used by the derive macros `Error` and `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Error, Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:192:7
[INFO] [stderr]                |
[INFO] [stderr]            192 |     #[regex(r"[ \r\t\v\r\n]", logos::skip)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> libbubble/src/parser/grammar.rs:1269:22
[INFO] [stderr]                 |
[INFO] [stderr]            1269 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                 |
[INFO] [stderr]              48 + #[derive(Debug)]
[INFO] [stderr]              49 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                --> libbubble/src/parser/grammar.rs:1269:22
[INFO] [stderr]                 |
[INFO] [stderr]            1269 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                -->  libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                 |
[INFO] [stderr]              48 + #[derive(Clone)]
[INFO] [stderr]              49 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> libbubble/src/parser/grammar.rs:6969:22
[INFO] [stderr]                 |
[INFO] [stderr]            6969 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                 |
[INFO] [stderr]              48 + #[derive(Debug)]
[INFO] [stderr]              49 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                --> libbubble/src/parser/grammar.rs:6969:22
[INFO] [stderr]                 |
[INFO] [stderr]            6969 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                -->  libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                 |
[INFO] [stderr]              48 + #[derive(Clone)]
[INFO] [stderr]              49 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> libbubble/src/parser/grammar.rs:12362:22
[INFO] [stderr]                  |
[INFO] [stderr]            12362 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                  |
[INFO] [stderr]               48 + #[derive(Debug)]
[INFO] [stderr]               49 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> libbubble/src/parser/grammar.rs:12362:22
[INFO] [stderr]                  |
[INFO] [stderr]            12362 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                  |
[INFO] [stderr]               48 + #[derive(Clone)]
[INFO] [stderr]               49 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:14:1
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub struct Lexer<'input> {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:14:5
[INFO] [stderr]               |
[INFO] [stderr]            14 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:18:14
[INFO] [stderr]               |
[INFO] [stderr]            18 | impl<'input> Lexer<'input> {
[INFO] [stderr]               |              ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:29:27
[INFO] [stderr]               |
[INFO] [stderr]            29 | fn handle_quote(lex: &mut logos::Lexer<Token>) -> Result<String, ()> {
[INFO] [stderr]               |                           ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:13:34
[INFO] [stderr]               |
[INFO] [stderr]            13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]               |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:205:5
[INFO] [stderr]                |
[INFO] [stderr]            205 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                |
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied in `lexer::Lexer<'input>`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:202:27
[INFO] [stderr]                |
[INFO] [stderr]            202 | impl<'input> Iterator for Lexer<'input> {
[INFO] [stderr]                |                           ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `lexer::Lexer<'input>`, the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                |
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `lexer::Lexer<'input>`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:14:12
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'input> {
[INFO] [stderr]                |            ^^^^^
[INFO] [stderr]            note: required by a bound in `Iterator`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:19:39
[INFO] [stderr]               |
[INFO] [stderr]            19 |     pub fn new(input: &'input str) -> Self {
[INFO] [stderr]               |                                       ^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:205:13
[INFO] [stderr]                |
[INFO] [stderr]            205 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |             ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                |
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> libbubble/src/desugar/imports.rs:30:9
[INFO] [stderr]               |
[INFO] [stderr]            21 | #[derive(Error, Debug)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            30 |         error: parser::ParserError,
[INFO] [stderr]               |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Debug` is implemented for `ParseError<L, T, E>`
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/lib.rs:14:17
[INFO] [stderr]               |
[INFO] [stderr]            14 | #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stderr]               |                 ^^^^^
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Debug)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> libbubble/src/desugar/imports.rs:90:17
[INFO] [stderr]               |
[INFO] [stderr]            90 |     let lexer = Lexer::new(&file_content);
[INFO] [stderr]               |                 ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> libbubble/src/desugar/imports.rs:90:17
[INFO] [stderr]               |
[INFO] [stderr]            90 |     let lexer = Lexer::new(&file_content);
[INFO] [stderr]               |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `lexer::Lexer<'_>`
[INFO] [stderr]              --> libbubble/src/desugar/imports.rs:90:9
[INFO] [stderr]               |
[INFO] [stderr]            90 |     let lexer = Lexer::new(&file_content);
[INFO] [stderr]               |         ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: within `lexer::Lexer<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `lexer::Lexer<'_>`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:14:12
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub struct Lexer<'input> {
[INFO] [stderr]               |            ^^^^^
[INFO] [stderr]               = note: all local variables must have a statically known size
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:20:9
[INFO] [stderr]               |
[INFO] [stderr]            20 |         Lexer {
[INFO] [stderr]               |         ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:21:34
[INFO] [stderr]               |
[INFO] [stderr]            21 |             token_stream: Token::lexer(input).spanned(),
[INFO] [stderr]               |                                  ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]            ...
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `lexer::Lexer<'_>`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:20:9
[INFO] [stderr]               |
[INFO] [stderr]            20 | /         Lexer {
[INFO] [stderr]            21 | |             token_stream: Token::lexer(input).spanned(),
[INFO] [stderr]            22 | |         }
[INFO] [stderr]               | |_________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: within `lexer::Lexer<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `lexer::Lexer<'_>`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:14:12
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub struct Lexer<'input> {
[INFO] [stderr]               |            ^^^^^
[INFO] [stderr]               = note: structs must have a statically known size to be initialized
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `remainder` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:31:32
[INFO] [stderr]                |
[INFO] [stderr]             31 |     let remainder_string = lex.remainder();
[INFO] [stderr]                |                                ^^^^^^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `bump` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:36:17
[INFO] [stderr]                |
[INFO] [stderr]             36 |             lex.bump(inner_content.len() + 1);
[INFO] [stderr]                |                 ^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:198:27
[INFO] [stderr]                |
[INFO] [stderr]            198 |         write!(f, "{:?}", self)
[INFO] [stderr]                |                    ----   ^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Debug)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `SpannedIter<'input, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:206:27
[INFO] [stderr]                |
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            206 |         self.token_stream.next().map(|(token, span)| match token {
[INFO] [stderr]                |                           ^^^^ method cannot be called on `SpannedIter<'input, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:206:1
[INFO] [stderr]                |
[INFO] [stderr]            206 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------------ doesn't satisfy `SpannedIter<'input, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `SpannedIter<'input, Token>: Iterator`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 89 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr] error: errors present after applying fixes to crate `libbubble`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs
[INFO] [stderr]  ::: libbubble/src/desugar/imports.rs
[INFO] [stderr]  ::: libbubble/src/parser/grammar.rs
[INFO] [stderr]  ::: libbubble/src/parser/lexer.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:47:16
[INFO] [stderr]               |
[INFO] [stderr]            47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stderr]               |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:50:7
[INFO] [stderr]               |
[INFO] [stderr]            50 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:54:7
[INFO] [stderr]               |
[INFO] [stderr]            54 |     #[token("[")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:56:7
[INFO] [stderr]               |
[INFO] [stderr]            56 |     #[token("]")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:58:7
[INFO] [stderr]               |
[INFO] [stderr]            58 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:62:7
[INFO] [stderr]               |
[INFO] [stderr]            62 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:64:7
[INFO] [stderr]               |
[INFO] [stderr]            64 |     #[token(";")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:66:7
[INFO] [stderr]               |
[INFO] [stderr]            66 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token("=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[token(".")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:72:7
[INFO] [stderr]               |
[INFO] [stderr]            72 |     #[token("::")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:76:7
[INFO] [stderr]               |
[INFO] [stderr]            76 |     #[token("+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:78:7
[INFO] [stderr]               |
[INFO] [stderr]            78 |     #[token("-")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:80:7
[INFO] [stderr]               |
[INFO] [stderr]            80 |     #[token("*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[token("/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:84:7
[INFO] [stderr]               |
[INFO] [stderr]            84 |     #[token("%")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("and")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:88:7
[INFO] [stderr]               |
[INFO] [stderr]            88 |     #[token("or")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:90:7
[INFO] [stderr]               |
[INFO] [stderr]            90 |     #[token("not")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("==")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:94:7
[INFO] [stderr]               |
[INFO] [stderr]            94 |     #[token("!=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:96:7
[INFO] [stderr]               |
[INFO] [stderr]            96 |     #[token("<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:98:7
[INFO] [stderr]               |
[INFO] [stderr]            98 |     #[token(">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Logos)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:100:7
[INFO] [stderr]                |
[INFO] [stderr]            100 |     #[token("<=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:102:7
[INFO] [stderr]                |
[INFO] [stderr]            102 |     #[token(">=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:106:7
[INFO] [stderr]                |
[INFO] [stderr]            106 |     #[token("function")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:108:7
[INFO] [stderr]                |
[INFO] [stderr]            108 |     #[token("struct")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:110:7
[INFO] [stderr]                |
[INFO] [stderr]            110 |     #[token("if")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:112:7
[INFO] [stderr]                |
[INFO] [stderr]            112 |     #[token("else")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:114:7
[INFO] [stderr]                |
[INFO] [stderr]            114 |     #[token("for")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:116:7
[INFO] [stderr]                |
[INFO] [stderr]            116 |     #[token("while")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:118:7
[INFO] [stderr]                |
[INFO] [stderr]            118 |     #[token("return")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:120:7
[INFO] [stderr]                |
[INFO] [stderr]            120 |     #[token("let")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:122:7
[INFO] [stderr]                |
[INFO] [stderr]            122 |     #[token("break")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:124:7
[INFO] [stderr]                |
[INFO] [stderr]            124 |     #[token("continue")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:126:7
[INFO] [stderr]                |
[INFO] [stderr]            126 |     #[token("true")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:128:7
[INFO] [stderr]                |
[INFO] [stderr]            128 |     #[token("false")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:130:7
[INFO] [stderr]                |
[INFO] [stderr]            130 |     #[token("extern")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:132:7
[INFO] [stderr]                |
[INFO] [stderr]            132 |     #[token("import")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:134:7
[INFO] [stderr]                |
[INFO] [stderr]            134 |     #[token("from")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:136:7
[INFO] [stderr]                |
[INFO] [stderr]            136 |     #[token("export")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:144:7
[INFO] [stderr]                |
[INFO] [stderr]            144 |     #[token("u8")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:146:7
[INFO] [stderr]                |
[INFO] [stderr]            146 |     #[token("u16")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:148:7
[INFO] [stderr]                |
[INFO] [stderr]            148 |     #[token("u32")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:150:7
[INFO] [stderr]                |
[INFO] [stderr]            150 |     #[token("u64")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:154:7
[INFO] [stderr]                |
[INFO] [stderr]            154 |     #[token("i8")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:156:7
[INFO] [stderr]                |
[INFO] [stderr]            156 |     #[token("i16")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:158:7
[INFO] [stderr]                |
[INFO] [stderr]            158 |     #[token("i32")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:160:7
[INFO] [stderr]                |
[INFO] [stderr]            160 |     #[token("i64")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:164:7
[INFO] [stderr]                |
[INFO] [stderr]            164 |     #[token("bool")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:166:7
[INFO] [stderr]                |
[INFO] [stderr]            166 |     #[token("string")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:168:7
[INFO] [stderr]                |
[INFO] [stderr]            168 |     #[token("void")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:172:7
[INFO] [stderr]                |
[INFO] [stderr]            172 |     #[token("ptr")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:174:7
[INFO] [stderr]                |
[INFO] [stderr]            174 |     #[token("addrof")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:176:7
[INFO] [stderr]                |
[INFO] [stderr]            176 |     #[token("deref")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:178:7
[INFO] [stderr]                |
[INFO] [stderr]            178 |     #[token("null")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:182:7
[INFO] [stderr]                |
[INFO] [stderr]            182 |     #[regex(r"[a-zA-Z][a-zA-Z0-9_]*", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:184:7
[INFO] [stderr]                |
[INFO] [stderr]            184 |     #[regex(r"([0-9]+)?\.[0-9]+", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:186:7
[INFO] [stderr]                |
[INFO] [stderr]            186 |     #[regex(r"[1-9]+[0-9]*|0", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:188:7
[INFO] [stderr]                |
[INFO] [stderr]            188 |     #[token("\"", handle_quote)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `error` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:191:7
[INFO] [stderr]                |
[INFO] [stderr]            191 |     #[error]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `error` is an attribute that can be used by the derive macros `Error` and `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Error, Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:192:7
[INFO] [stderr]                |
[INFO] [stderr]            192 |     #[regex(r"[ \r\t\v\r\n]", logos::skip)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Logos)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> libbubble/src/parser/grammar.rs:1269:22
[INFO] [stderr]                 |
[INFO] [stderr]            1269 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                 |
[INFO] [stderr]              48 + #[derive(Debug)]
[INFO] [stderr]              49 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                --> libbubble/src/parser/grammar.rs:1269:22
[INFO] [stderr]                 |
[INFO] [stderr]            1269 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                -->  libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                 |
[INFO] [stderr]              48 + #[derive(Clone)]
[INFO] [stderr]              49 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> libbubble/src/parser/grammar.rs:6969:22
[INFO] [stderr]                 |
[INFO] [stderr]            6969 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                 |
[INFO] [stderr]              48 + #[derive(Debug)]
[INFO] [stderr]              49 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                --> libbubble/src/parser/grammar.rs:6969:22
[INFO] [stderr]                 |
[INFO] [stderr]            6969 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                -->  libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                 |
[INFO] [stderr]              48 + #[derive(Clone)]
[INFO] [stderr]              49 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> libbubble/src/parser/grammar.rs:12362:22
[INFO] [stderr]                  |
[INFO] [stderr]            12362 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                  |
[INFO] [stderr]               48 + #[derive(Debug)]
[INFO] [stderr]               49 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> libbubble/src/parser/grammar.rs:12362:22
[INFO] [stderr]                  |
[INFO] [stderr]            12362 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                  |
[INFO] [stderr]               48 + #[derive(Clone)]
[INFO] [stderr]               49 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:14:1
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub struct Lexer<'input> {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:14:5
[INFO] [stderr]               |
[INFO] [stderr]            14 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:18:14
[INFO] [stderr]               |
[INFO] [stderr]            18 | impl<'input> Lexer<'input> {
[INFO] [stderr]               |              ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:29:27
[INFO] [stderr]               |
[INFO] [stderr]            29 | fn handle_quote(lex: &mut logos::Lexer<Token>) -> Result<String, ()> {
[INFO] [stderr]               |                           ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:13:34
[INFO] [stderr]               |
[INFO] [stderr]            13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]               |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:205:5
[INFO] [stderr]                |
[INFO] [stderr]            205 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                |
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied in `lexer::Lexer<'input>`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:202:27
[INFO] [stderr]                |
[INFO] [stderr]            202 | impl<'input> Iterator for Lexer<'input> {
[INFO] [stderr]                |                           ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `lexer::Lexer<'input>`, the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                |
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `lexer::Lexer<'input>`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:14:12
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'input> {
[INFO] [stderr]                |            ^^^^^
[INFO] [stderr]            note: required by a bound in `Iterator`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:19:39
[INFO] [stderr]               |
[INFO] [stderr]            19 |     pub fn new(input: &'input str) -> Self {
[INFO] [stderr]               |                                       ^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:205:13
[INFO] [stderr]                |
[INFO] [stderr]            205 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |             ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]                |
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> libbubble/src/desugar/imports.rs:30:9
[INFO] [stderr]               |
[INFO] [stderr]            21 | #[derive(Error, Debug)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            30 |         error: parser::ParserError,
[INFO] [stderr]               |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Debug` is implemented for `ParseError<L, T, E>`
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/lib.rs:14:17
[INFO] [stderr]               |
[INFO] [stderr]            14 | #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stderr]               |                 ^^^^^
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 + #[derive(Debug)]
[INFO] [stderr]            49 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> libbubble/src/desugar/imports.rs:90:17
[INFO] [stderr]               |
[INFO] [stderr]            90 |     let lexer = Lexer::new(&file_content);
[INFO] [stderr]               |                 ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> libbubble/src/desugar/imports.rs:90:17
[INFO] [stderr]               |
[INFO] [stderr]            90 |     let lexer = Lexer::new(&file_content);
[INFO] [stderr]               |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `lexer::Lexer<'_>`
[INFO] [stderr]              --> libbubble/src/desugar/imports.rs:90:9
[INFO] [stderr]               |
[INFO] [stderr]            90 |     let lexer = Lexer::new(&file_content);
[INFO] [stderr]               |         ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: within `lexer::Lexer<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `lexer::Lexer<'_>`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:14:12
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub struct Lexer<'input> {
[INFO] [stderr]               |            ^^^^^
[INFO] [stderr]               = note: all local variables must have a statically known size
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:20:9
[INFO] [stderr]               |
[INFO] [stderr]            20 |         Lexer {
[INFO] [stderr]               |         ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:21:34
[INFO] [stderr]               |
[INFO] [stderr]            21 |             token_stream: Token::lexer(input).spanned(),
[INFO] [stderr]               |                                  ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]            ...
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `lexer::Lexer<'_>`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:20:9
[INFO] [stderr]               |
[INFO] [stderr]            20 | /         Lexer {
[INFO] [stderr]            21 | |             token_stream: Token::lexer(input).spanned(),
[INFO] [stderr]            22 | |         }
[INFO] [stderr]               | |_________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: within `lexer::Lexer<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:48:1
[INFO] [stderr]               |
[INFO] [stderr]            48 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `lexer::Lexer<'_>`
[INFO] [stderr]              --> libbubble/src/parser/lexer.rs:14:12
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub struct Lexer<'input> {
[INFO] [stderr]               |            ^^^^^
[INFO] [stderr]               = note: structs must have a statically known size to be initialized
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `remainder` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:31:32
[INFO] [stderr]                |
[INFO] [stderr]             31 |     let remainder_string = lex.remainder();
[INFO] [stderr]                |                                ^^^^^^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `bump` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:36:17
[INFO] [stderr]                |
[INFO] [stderr]             36 |             lex.bump(inner_content.len() + 1);
[INFO] [stderr]                |                 ^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:198:27
[INFO] [stderr]                |
[INFO] [stderr]            198 |         write!(f, "{:?}", self)
[INFO] [stderr]                |                    ----   ^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]             48 + #[derive(Debug)]
[INFO] [stderr]             49 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `SpannedIter<'input, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> libbubble/src/parser/lexer.rs:206:27
[INFO] [stderr]                |
[INFO] [stderr]             48 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            206 |         self.token_stream.next().map(|(token, span)| match token {
[INFO] [stderr]                |                           ^^^^ method cannot be called on `SpannedIter<'input, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:206:1
[INFO] [stderr]                |
[INFO] [stderr]            206 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------------ doesn't satisfy `SpannedIter<'input, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `SpannedIter<'input, Token>: Iterator`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 89 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]     Checking bubble-dev v0.1.0 (/opt/rustwide/workdir/bubble-dev)
[INFO] [stderr]     Checking bubblec v0.1.0 (/opt/rustwide/workdir/bubblec)
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(ref e) = &expr.right {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(ref e) = &expr.right {
[INFO] [stdout]     |                ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 130 -         if let Some(ref e) = &expr.right {
[INFO] [stdout] 130 +         if let Some(e) = &expr.right {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:311:31
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout]     |                               ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 311 -             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout] 311 +             Expression::Group(g) => self.visit_expression(g),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:312:41
[INFO] [stdout]     |
[INFO] [stdout] 312 |             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |                                         ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 312 -             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout] 312 +             Expression::BinaryOperation(bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:313:33
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout]     |                                 ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 313 -             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout] 313 +             Expression::Literal(l) => self.visit_literal(l),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:314:30
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout]     |                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 314 -             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout] 314 +             Expression::Call(c) => self.visit_call(c),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:315:36
[INFO] [stdout]     |
[INFO] [stdout] 315 |             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout]     |                                    ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 315 -             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout] 315 +             Expression::Assignment(a) => self.visit_assignment(a),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> libbubble/src/parser/lexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating bubble-dev/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating libbubble/tests/libbubble_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating libbubble/tests/assets.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating bubblec/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.35s
[INFO] [stderr] crater-edition-check: libbubble v0.1.0 (/opt/rustwide/workdir/libbubble) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: bubble-dev v0.1.0 (/opt/rustwide/workdir/bubble-dev) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: bubblec v0.1.0 (/opt/rustwide/workdir/bubblec) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling libbubble v0.1.0 (/opt/rustwide/workdir/libbubble)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(ref e) = &expr.right {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(ref e) = &expr.right {
[INFO] [stdout]     |                ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 130 -         if let Some(ref e) = &expr.right {
[INFO] [stdout] 130 +         if let Some(e) = &expr.right {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:311:31
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout]     |                               ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 311 -             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout] 311 +             Expression::Group(g) => self.visit_expression(g),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:312:41
[INFO] [stdout]     |
[INFO] [stdout] 312 |             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |                                         ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 312 -             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout] 312 +             Expression::BinaryOperation(bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:313:33
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout]     |                                 ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 313 -             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout] 313 +             Expression::Literal(l) => self.visit_literal(l),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:314:30
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout]     |                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 314 -             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout] 314 +             Expression::Call(c) => self.visit_call(c),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:315:36
[INFO] [stdout]     |
[INFO] [stdout] 315 |             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout]     |                                    ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 315 -             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout] 315 +             Expression::Assignment(a) => self.visit_assignment(a),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(ref e) = &expr.right {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(ref e) = &expr.right {
[INFO] [stdout]     |                ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 130 -         if let Some(ref e) = &expr.right {
[INFO] [stdout] 130 +         if let Some(e) = &expr.right {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:311:31
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout]     |                               ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 311 -             Expression::Group(ref mut g) => self.visit_expression(g),
[INFO] [stdout] 311 +             Expression::Group(g) => self.visit_expression(g),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:312:41
[INFO] [stdout]     |
[INFO] [stdout] 312 |             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |                                         ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 312 -             Expression::BinaryOperation(ref mut bo) => self.visit_binary_operation(bo),
[INFO] [stdout] 312 +             Expression::BinaryOperation(bo) => self.visit_binary_operation(bo),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:313:33
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout]     |                                 ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 313 -             Expression::Literal(ref mut l) => self.visit_literal(l),
[INFO] [stdout] 313 +             Expression::Literal(l) => self.visit_literal(l),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:314:30
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout]     |                              ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 314 -             Expression::Call(ref mut c) => self.visit_call(c),
[INFO] [stdout] 314 +             Expression::Call(c) => self.visit_call(c),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:315:36
[INFO] [stdout]     |
[INFO] [stdout] 315 |             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout]     |                                    ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> libbubble/src/ast/visitor.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 315 -             Expression::Assignment(ref mut a) => self.visit_assignment(a),
[INFO] [stdout] 315 +             Expression::Assignment(a) => self.visit_assignment(a),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libbubble` (lib) due to 6 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `libbubble` (lib test) due to 6 previous errors
[INFO] running `Command { std: "docker" "inspect" "6a90f93a34f381a0ada2d418f2f724f3598c03b4205b1ee9e7d1b3974d6b44f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a90f93a34f381a0ada2d418f2f724f3598c03b4205b1ee9e7d1b3974d6b44f4", kill_on_drop: false }`
[INFO] [stdout] 6a90f93a34f381a0ada2d418f2f724f3598c03b4205b1ee9e7d1b3974d6b44f4
